Dosen : Prof.Dr. Suhartono M.Kom

Instansi : UIN Maliki Malang

saya akan mendemokan cara menganalisis sebuah gambar dalam bentuk matrix. caranya sangat mudah!!!!

yang pertama harus kamu lakukan adalah menginstall packagenya serta library EBImage. setelah itu tinggalmasukkan code seperti dibawah ini dengan gambar sesuai dengan keinginan kamu.

untuk memanggil gambarnya kamu harus terlebih dulu menginstall librarynya ya :). jangan lupa loh.

Menginstall librarynya

library(EBImage)

Setelah itu kamu bisa langsung analisis gambarnya loh, dalam bentuk matrix lagi. caranya tinggal kamu implementasikan kode dibawah ini ya.

Image <- readImage("C://Users/bambang/OneDrive/Desktop/masjid.jpg")
print(Image)
## Image 
##   colorMode    : Color 
##   storage.mode : double 
##   dim          : 1920 1080 3 
##   frames.total : 3 
##   frames.render: 1 
## 
## imageData(object)[1:5,1:6,1]
##           [,1]      [,2]      [,3]      [,4]      [,5]      [,6]
## [1,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
## [2,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
## [3,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
## [4,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
## [5,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
Kamu juga bisa melihat histogram dari gambarnya juga dengan kode dibawah ini. Tidak cuma itu, kamu juga bisa memanipulasi gambarnya loh,, tinggal menggunakan code-code dibawah ya. Happy Learning

Plot data

hist(Image)

Brightness

Image1 <- Image + 0.2
Image2 <- Image - 0.2
par(mfrow= c(1,2))
plot(Image1)
plot(Image2)

Adjusting Contrast

Image3 <- Image * 0.5
Image4 <- Image * 2
par(mfrow= c(1,2))
plot(Image3)
plot(Image4)

Gamma Correction

Image5 <- Image ^ 2
Image6 <- Image ^ 0.7
par(mfrow= c(1,2))
plot(Image5)
plot(Image6)

Spatial Transformation

Imagetr <- translate(rotate(Image, 45), c(50, 0))
display(Imagetr)

Color Management

colorMode(Image) <- Grayscale
display(Image)
## Only the first frame of the image stack is displayed.
## To display all frames use 'all = TRUE'.

print(Image)
## Image 
##   colorMode    : Grayscale 
##   storage.mode : double 
##   dim          : 1920 1080 3 
##   frames.total : 3 
##   frames.render: 3 
## 
## imageData(object)[1:5,1:6,1]
##           [,1]      [,2]      [,3]      [,4]      [,5]      [,6]
## [1,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
## [2,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
## [3,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
## [4,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
## [5,] 0.3921569 0.3921569 0.3921569 0.3921569 0.3960784 0.3960784
colorMode(Image) <- Color
display(Image)

filtering

fLow <- makeBrush(21, shape= 'disc', step=FALSE)^2
fLow <- fLow/sum(fLow)
Image.fLow <- filter2(Image, fLow)
display(Image.fLow)

fHigh <- matrix(1, nc = 3, nr = 3)
fHigh[2, 2] <- -8
Image.fHigh <- filter2(Image, fHigh)
display(Image.fHigh)

# DAFTAR PUSTAKA https://thinkstudioo.blogspot.com/2018/03/analisis-image-menggunakan-ebimage-di-r.html